
package com.chuanke.ckfamily.service.common.impl;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.chuanke.ckfamily.dao.common.WyFriendDao;
import com.chuanke.ckfamily.dao.common.model.WyFriend;
import com.chuanke.ckfamily.dao.user.model.Friend;
import com.chuanke.ckfamily.dao.user.model.User;
import com.chuanke.ckfamily.dao.user.model.UserRelation;
import com.chuanke.ckfamily.service.common.WyFriendService;
import com.chuanke.ckfamily.service.common.WyService;
import com.chuanke.ckfamily.service.constant.MsgEunm;
import com.chuanke.ckfamily.service.constant.UserRelationType;
import com.chuanke.ckfamily.service.exception.CFException;
import com.chuanke.ckfamily.service.user.UserRelationService;
import com.chuanke.ckfamily.service.user.UserService;
import com.weijie.core.BaseBiz;

@Service
@Transactional(rollbackFor=Exception.class)
public class WyFriendServiceImpl extends BaseBiz<WyFriend, WyFriendDao> implements WyFriendService{
	 private static final Logger log = LoggerFactory.getLogger(WyFriendServiceImpl.class);
//
//	@Autowired
//	private UserService userService;
//
//	@Autowired
//	private WyService wyService;
//
//	@Autowired
//	private UserRelationService userRelationService;
//
//	@Override
//	public void addFriend(Long user_id,  Long target_user_id) throws CFException {
//		log.debug("新增好友===========================》user_id={},target_user_id={}",user_id,target_user_id);
//		if(!valid(user_id, target_user_id)){
//			return;
//		}
//		User user = userService.findById(user_id);
//		User tuser = userService.findById(target_user_id);
//		if(!user.hasWyId() || !tuser.hasWyId()){
//			return;
//		}
//
//		addWyFriend(user, tuser);
//
//		sendUpdateFriend(user.getUser_no(),user_id, target_user_id);
//		sendUpdateFriend(tuser.getUser_no(), target_user_id,user_id);
//	}
//
//	@Override
//	public void updateFriend(Long user_id,  Long target_user_id) throws CFException {
//		log.debug("更新好友===========================》user_id={},target_user_id={}",user_id,target_user_id);
//		valid(user_id, target_user_id);
//		User user = userService.findById(user_id);
//		User tuser = userService.findById(target_user_id);
//		if(!user.hasWyId() || !tuser.hasWyId()){
//			return;
//		}
//		updateInfo(user, tuser);
//		updateInfo(tuser, user);
//	}
//
//
//	@Override
//	public void updateFriendForFans(Long user_id,  Long target_user_id, String remarkName) throws CFException {
//		log.debug("新增且更新好友===========================》user_id={},target_user_id={},remarkName={}",user_id,target_user_id,remarkName);
//		valid(user_id, target_user_id);
//		User user = userService.findById(user_id);
//		User tuser = userService.findById(target_user_id);
//		if(!user.hasWyId() || !tuser.hasWyId()){
//			return;
//		}
//		boolean isAdd=this.addWyFriend(user, tuser);
//		if(isAdd && StringUtils.isNotEmpty(remarkName)){
//			wyService.updateFriend(user.getUser_no(),tuser.getUser_no(),remarkName,null);
//		}
//	}
//
//	@Override
//	public void deleteFriend(Long user_id,  Long target_user_id) throws CFException {
//		log.debug("删除好友===========================》user_id={},target_user_id={}",user_id,target_user_id);
//		if(!valid(user_id, target_user_id)){
//			return;
//		}
//		User user = userService.findById(user_id);
//		User tuser = userService.findById(target_user_id);
//		if(!user.hasWyId() || !tuser.hasWyId()){
//			return;
//		}
//		WyFriend friend=baseDao.findWyFriend(user_id,target_user_id);
//		if(friend!=null){
//			delete(friend);
//		}
//		WyFriend tfriend=baseDao.findWyFriend(target_user_id,user_id);
//		if(tfriend!=null){
//			delete(tfriend);
//		}
//
//		wyService.deleteFriend(user.getUser_no(),tuser.getUser_no());
//		sendUpdateFriend(user.getUser_no(),user_id, target_user_id);
//		sendUpdateFriend(tuser.getUser_no(), target_user_id,user_id);
//	}
//
//	private boolean valid(Long user_id, Long target_user_id) {
//		if(user_id==null || user_id==0 || target_user_id==null || target_user_id==0 || user_id.equals(target_user_id)){
//			return false;
//		}
//		return true;
//	}
//
//	private boolean addWyFriend(User user, User tuser) throws CFException {
//		if(user==null || tuser==null){
//			return false;
//		}
//		Long user_id=user.getId();
//		Long target_user_id=tuser.getId();
//		if(!valid(user_id, target_user_id)){
//			return false;
//		}
//
//		WyFriend friend=baseDao.findWyFriend(user_id,target_user_id);
//		if(friend==null){
//			friend=new WyFriend();
//			friend.setUser_id(user_id);
//			friend.setTarget_user_id(target_user_id);
//			save(friend);
//		}
//
//		WyFriend tfriend=baseDao.findWyFriend(target_user_id,user_id);
//		if(tfriend==null){
//			tfriend=new WyFriend();
//			tfriend.setUser_id(target_user_id);
//			tfriend.setTarget_user_id(user_id);
//			save(tfriend);
//		}
//
//		wyService.addFriend(user.getUser_no(),tuser.getUser_no());
//		updateFriend(user.getId(), tuser.getId());
//		return true;
//	}
}